package com.cognizant.ams.bean;

import java.util.ArrayList;
import java.util.List;

public class LdmenuExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public LdmenuExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andNodecodeIsNull() {
            addCriterion("NODECODE is null");
            return (Criteria) this;
        }

        public Criteria andNodecodeIsNotNull() {
            addCriterion("NODECODE is not null");
            return (Criteria) this;
        }

        public Criteria andNodecodeEqualTo(String value) {
            addCriterion("NODECODE =", value, "nodecode");
            return (Criteria) this;
        }

        public Criteria andNodecodeNotEqualTo(String value) {
            addCriterion("NODECODE <>", value, "nodecode");
            return (Criteria) this;
        }

        public Criteria andNodecodeGreaterThan(String value) {
            addCriterion("NODECODE >", value, "nodecode");
            return (Criteria) this;
        }

        public Criteria andNodecodeGreaterThanOrEqualTo(String value) {
            addCriterion("NODECODE >=", value, "nodecode");
            return (Criteria) this;
        }

        public Criteria andNodecodeLessThan(String value) {
            addCriterion("NODECODE <", value, "nodecode");
            return (Criteria) this;
        }

        public Criteria andNodecodeLessThanOrEqualTo(String value) {
            addCriterion("NODECODE <=", value, "nodecode");
            return (Criteria) this;
        }

        public Criteria andNodecodeLike(String value) {
            addCriterion("NODECODE like", value, "nodecode");
            return (Criteria) this;
        }

        public Criteria andNodecodeNotLike(String value) {
            addCriterion("NODECODE not like", value, "nodecode");
            return (Criteria) this;
        }

        public Criteria andNodecodeIn(List<String> values) {
            addCriterion("NODECODE in", values, "nodecode");
            return (Criteria) this;
        }

        public Criteria andNodecodeNotIn(List<String> values) {
            addCriterion("NODECODE not in", values, "nodecode");
            return (Criteria) this;
        }

        public Criteria andNodecodeBetween(String value1, String value2) {
            addCriterion("NODECODE between", value1, value2, "nodecode");
            return (Criteria) this;
        }

        public Criteria andNodecodeNotBetween(String value1, String value2) {
            addCriterion("NODECODE not between", value1, value2, "nodecode");
            return (Criteria) this;
        }

        public Criteria andParentnodecodeIsNull() {
            addCriterion("PARENTNODECODE is null");
            return (Criteria) this;
        }

        public Criteria andParentnodecodeIsNotNull() {
            addCriterion("PARENTNODECODE is not null");
            return (Criteria) this;
        }

        public Criteria andParentnodecodeEqualTo(String value) {
            addCriterion("PARENTNODECODE =", value, "parentnodecode");
            return (Criteria) this;
        }

        public Criteria andParentnodecodeNotEqualTo(String value) {
            addCriterion("PARENTNODECODE <>", value, "parentnodecode");
            return (Criteria) this;
        }

        public Criteria andParentnodecodeGreaterThan(String value) {
            addCriterion("PARENTNODECODE >", value, "parentnodecode");
            return (Criteria) this;
        }

        public Criteria andParentnodecodeGreaterThanOrEqualTo(String value) {
            addCriterion("PARENTNODECODE >=", value, "parentnodecode");
            return (Criteria) this;
        }

        public Criteria andParentnodecodeLessThan(String value) {
            addCriterion("PARENTNODECODE <", value, "parentnodecode");
            return (Criteria) this;
        }

        public Criteria andParentnodecodeLessThanOrEqualTo(String value) {
            addCriterion("PARENTNODECODE <=", value, "parentnodecode");
            return (Criteria) this;
        }

        public Criteria andParentnodecodeLike(String value) {
            addCriterion("PARENTNODECODE like", value, "parentnodecode");
            return (Criteria) this;
        }

        public Criteria andParentnodecodeNotLike(String value) {
            addCriterion("PARENTNODECODE not like", value, "parentnodecode");
            return (Criteria) this;
        }

        public Criteria andParentnodecodeIn(List<String> values) {
            addCriterion("PARENTNODECODE in", values, "parentnodecode");
            return (Criteria) this;
        }

        public Criteria andParentnodecodeNotIn(List<String> values) {
            addCriterion("PARENTNODECODE not in", values, "parentnodecode");
            return (Criteria) this;
        }

        public Criteria andParentnodecodeBetween(String value1, String value2) {
            addCriterion("PARENTNODECODE between", value1, value2, "parentnodecode");
            return (Criteria) this;
        }

        public Criteria andParentnodecodeNotBetween(String value1, String value2) {
            addCriterion("PARENTNODECODE not between", value1, value2, "parentnodecode");
            return (Criteria) this;
        }

        public Criteria andNodelevelIsNull() {
            addCriterion("NODELEVEL is null");
            return (Criteria) this;
        }

        public Criteria andNodelevelIsNotNull() {
            addCriterion("NODELEVEL is not null");
            return (Criteria) this;
        }

        public Criteria andNodelevelEqualTo(String value) {
            addCriterion("NODELEVEL =", value, "nodelevel");
            return (Criteria) this;
        }

        public Criteria andNodelevelNotEqualTo(String value) {
            addCriterion("NODELEVEL <>", value, "nodelevel");
            return (Criteria) this;
        }

        public Criteria andNodelevelGreaterThan(String value) {
            addCriterion("NODELEVEL >", value, "nodelevel");
            return (Criteria) this;
        }

        public Criteria andNodelevelGreaterThanOrEqualTo(String value) {
            addCriterion("NODELEVEL >=", value, "nodelevel");
            return (Criteria) this;
        }

        public Criteria andNodelevelLessThan(String value) {
            addCriterion("NODELEVEL <", value, "nodelevel");
            return (Criteria) this;
        }

        public Criteria andNodelevelLessThanOrEqualTo(String value) {
            addCriterion("NODELEVEL <=", value, "nodelevel");
            return (Criteria) this;
        }

        public Criteria andNodelevelLike(String value) {
            addCriterion("NODELEVEL like", value, "nodelevel");
            return (Criteria) this;
        }

        public Criteria andNodelevelNotLike(String value) {
            addCriterion("NODELEVEL not like", value, "nodelevel");
            return (Criteria) this;
        }

        public Criteria andNodelevelIn(List<String> values) {
            addCriterion("NODELEVEL in", values, "nodelevel");
            return (Criteria) this;
        }

        public Criteria andNodelevelNotIn(List<String> values) {
            addCriterion("NODELEVEL not in", values, "nodelevel");
            return (Criteria) this;
        }

        public Criteria andNodelevelBetween(String value1, String value2) {
            addCriterion("NODELEVEL between", value1, value2, "nodelevel");
            return (Criteria) this;
        }

        public Criteria andNodelevelNotBetween(String value1, String value2) {
            addCriterion("NODELEVEL not between", value1, value2, "nodelevel");
            return (Criteria) this;
        }

        public Criteria andNodenameIsNull() {
            addCriterion("NODENAME is null");
            return (Criteria) this;
        }

        public Criteria andNodenameIsNotNull() {
            addCriterion("NODENAME is not null");
            return (Criteria) this;
        }

        public Criteria andNodenameEqualTo(String value) {
            addCriterion("NODENAME =", value, "nodename");
            return (Criteria) this;
        }

        public Criteria andNodenameNotEqualTo(String value) {
            addCriterion("NODENAME <>", value, "nodename");
            return (Criteria) this;
        }

        public Criteria andNodenameGreaterThan(String value) {
            addCriterion("NODENAME >", value, "nodename");
            return (Criteria) this;
        }

        public Criteria andNodenameGreaterThanOrEqualTo(String value) {
            addCriterion("NODENAME >=", value, "nodename");
            return (Criteria) this;
        }

        public Criteria andNodenameLessThan(String value) {
            addCriterion("NODENAME <", value, "nodename");
            return (Criteria) this;
        }

        public Criteria andNodenameLessThanOrEqualTo(String value) {
            addCriterion("NODENAME <=", value, "nodename");
            return (Criteria) this;
        }

        public Criteria andNodenameLike(String value) {
            addCriterion("NODENAME like", value, "nodename");
            return (Criteria) this;
        }

        public Criteria andNodenameNotLike(String value) {
            addCriterion("NODENAME not like", value, "nodename");
            return (Criteria) this;
        }

        public Criteria andNodenameIn(List<String> values) {
            addCriterion("NODENAME in", values, "nodename");
            return (Criteria) this;
        }

        public Criteria andNodenameNotIn(List<String> values) {
            addCriterion("NODENAME not in", values, "nodename");
            return (Criteria) this;
        }

        public Criteria andNodenameBetween(String value1, String value2) {
            addCriterion("NODENAME between", value1, value2, "nodename");
            return (Criteria) this;
        }

        public Criteria andNodenameNotBetween(String value1, String value2) {
            addCriterion("NODENAME not between", value1, value2, "nodename");
            return (Criteria) this;
        }

        public Criteria andChildflagIsNull() {
            addCriterion("CHILDFLAG is null");
            return (Criteria) this;
        }

        public Criteria andChildflagIsNotNull() {
            addCriterion("CHILDFLAG is not null");
            return (Criteria) this;
        }

        public Criteria andChildflagEqualTo(String value) {
            addCriterion("CHILDFLAG =", value, "childflag");
            return (Criteria) this;
        }

        public Criteria andChildflagNotEqualTo(String value) {
            addCriterion("CHILDFLAG <>", value, "childflag");
            return (Criteria) this;
        }

        public Criteria andChildflagGreaterThan(String value) {
            addCriterion("CHILDFLAG >", value, "childflag");
            return (Criteria) this;
        }

        public Criteria andChildflagGreaterThanOrEqualTo(String value) {
            addCriterion("CHILDFLAG >=", value, "childflag");
            return (Criteria) this;
        }

        public Criteria andChildflagLessThan(String value) {
            addCriterion("CHILDFLAG <", value, "childflag");
            return (Criteria) this;
        }

        public Criteria andChildflagLessThanOrEqualTo(String value) {
            addCriterion("CHILDFLAG <=", value, "childflag");
            return (Criteria) this;
        }

        public Criteria andChildflagLike(String value) {
            addCriterion("CHILDFLAG like", value, "childflag");
            return (Criteria) this;
        }

        public Criteria andChildflagNotLike(String value) {
            addCriterion("CHILDFLAG not like", value, "childflag");
            return (Criteria) this;
        }

        public Criteria andChildflagIn(List<String> values) {
            addCriterion("CHILDFLAG in", values, "childflag");
            return (Criteria) this;
        }

        public Criteria andChildflagNotIn(List<String> values) {
            addCriterion("CHILDFLAG not in", values, "childflag");
            return (Criteria) this;
        }

        public Criteria andChildflagBetween(String value1, String value2) {
            addCriterion("CHILDFLAG between", value1, value2, "childflag");
            return (Criteria) this;
        }

        public Criteria andChildflagNotBetween(String value1, String value2) {
            addCriterion("CHILDFLAG not between", value1, value2, "childflag");
            return (Criteria) this;
        }

        public Criteria andNodekeyIsNull() {
            addCriterion("NODEKEY is null");
            return (Criteria) this;
        }

        public Criteria andNodekeyIsNotNull() {
            addCriterion("NODEKEY is not null");
            return (Criteria) this;
        }

        public Criteria andNodekeyEqualTo(String value) {
            addCriterion("NODEKEY =", value, "nodekey");
            return (Criteria) this;
        }

        public Criteria andNodekeyNotEqualTo(String value) {
            addCriterion("NODEKEY <>", value, "nodekey");
            return (Criteria) this;
        }

        public Criteria andNodekeyGreaterThan(String value) {
            addCriterion("NODEKEY >", value, "nodekey");
            return (Criteria) this;
        }

        public Criteria andNodekeyGreaterThanOrEqualTo(String value) {
            addCriterion("NODEKEY >=", value, "nodekey");
            return (Criteria) this;
        }

        public Criteria andNodekeyLessThan(String value) {
            addCriterion("NODEKEY <", value, "nodekey");
            return (Criteria) this;
        }

        public Criteria andNodekeyLessThanOrEqualTo(String value) {
            addCriterion("NODEKEY <=", value, "nodekey");
            return (Criteria) this;
        }

        public Criteria andNodekeyLike(String value) {
            addCriterion("NODEKEY like", value, "nodekey");
            return (Criteria) this;
        }

        public Criteria andNodekeyNotLike(String value) {
            addCriterion("NODEKEY not like", value, "nodekey");
            return (Criteria) this;
        }

        public Criteria andNodekeyIn(List<String> values) {
            addCriterion("NODEKEY in", values, "nodekey");
            return (Criteria) this;
        }

        public Criteria andNodekeyNotIn(List<String> values) {
            addCriterion("NODEKEY not in", values, "nodekey");
            return (Criteria) this;
        }

        public Criteria andNodekeyBetween(String value1, String value2) {
            addCriterion("NODEKEY between", value1, value2, "nodekey");
            return (Criteria) this;
        }

        public Criteria andNodekeyNotBetween(String value1, String value2) {
            addCriterion("NODEKEY not between", value1, value2, "nodekey");
            return (Criteria) this;
        }

        public Criteria andRunscriptIsNull() {
            addCriterion("RUNSCRIPT is null");
            return (Criteria) this;
        }

        public Criteria andRunscriptIsNotNull() {
            addCriterion("RUNSCRIPT is not null");
            return (Criteria) this;
        }

        public Criteria andRunscriptEqualTo(String value) {
            addCriterion("RUNSCRIPT =", value, "runscript");
            return (Criteria) this;
        }

        public Criteria andRunscriptNotEqualTo(String value) {
            addCriterion("RUNSCRIPT <>", value, "runscript");
            return (Criteria) this;
        }

        public Criteria andRunscriptGreaterThan(String value) {
            addCriterion("RUNSCRIPT >", value, "runscript");
            return (Criteria) this;
        }

        public Criteria andRunscriptGreaterThanOrEqualTo(String value) {
            addCriterion("RUNSCRIPT >=", value, "runscript");
            return (Criteria) this;
        }

        public Criteria andRunscriptLessThan(String value) {
            addCriterion("RUNSCRIPT <", value, "runscript");
            return (Criteria) this;
        }

        public Criteria andRunscriptLessThanOrEqualTo(String value) {
            addCriterion("RUNSCRIPT <=", value, "runscript");
            return (Criteria) this;
        }

        public Criteria andRunscriptLike(String value) {
            addCriterion("RUNSCRIPT like", value, "runscript");
            return (Criteria) this;
        }

        public Criteria andRunscriptNotLike(String value) {
            addCriterion("RUNSCRIPT not like", value, "runscript");
            return (Criteria) this;
        }

        public Criteria andRunscriptIn(List<String> values) {
            addCriterion("RUNSCRIPT in", values, "runscript");
            return (Criteria) this;
        }

        public Criteria andRunscriptNotIn(List<String> values) {
            addCriterion("RUNSCRIPT not in", values, "runscript");
            return (Criteria) this;
        }

        public Criteria andRunscriptBetween(String value1, String value2) {
            addCriterion("RUNSCRIPT between", value1, value2, "runscript");
            return (Criteria) this;
        }

        public Criteria andRunscriptNotBetween(String value1, String value2) {
            addCriterion("RUNSCRIPT not between", value1, value2, "runscript");
            return (Criteria) this;
        }

        public Criteria andNodedescriptionIsNull() {
            addCriterion("NODEDESCRIPTION is null");
            return (Criteria) this;
        }

        public Criteria andNodedescriptionIsNotNull() {
            addCriterion("NODEDESCRIPTION is not null");
            return (Criteria) this;
        }

        public Criteria andNodedescriptionEqualTo(String value) {
            addCriterion("NODEDESCRIPTION =", value, "nodedescription");
            return (Criteria) this;
        }

        public Criteria andNodedescriptionNotEqualTo(String value) {
            addCriterion("NODEDESCRIPTION <>", value, "nodedescription");
            return (Criteria) this;
        }

        public Criteria andNodedescriptionGreaterThan(String value) {
            addCriterion("NODEDESCRIPTION >", value, "nodedescription");
            return (Criteria) this;
        }

        public Criteria andNodedescriptionGreaterThanOrEqualTo(String value) {
            addCriterion("NODEDESCRIPTION >=", value, "nodedescription");
            return (Criteria) this;
        }

        public Criteria andNodedescriptionLessThan(String value) {
            addCriterion("NODEDESCRIPTION <", value, "nodedescription");
            return (Criteria) this;
        }

        public Criteria andNodedescriptionLessThanOrEqualTo(String value) {
            addCriterion("NODEDESCRIPTION <=", value, "nodedescription");
            return (Criteria) this;
        }

        public Criteria andNodedescriptionLike(String value) {
            addCriterion("NODEDESCRIPTION like", value, "nodedescription");
            return (Criteria) this;
        }

        public Criteria andNodedescriptionNotLike(String value) {
            addCriterion("NODEDESCRIPTION not like", value, "nodedescription");
            return (Criteria) this;
        }

        public Criteria andNodedescriptionIn(List<String> values) {
            addCriterion("NODEDESCRIPTION in", values, "nodedescription");
            return (Criteria) this;
        }

        public Criteria andNodedescriptionNotIn(List<String> values) {
            addCriterion("NODEDESCRIPTION not in", values, "nodedescription");
            return (Criteria) this;
        }

        public Criteria andNodedescriptionBetween(String value1, String value2) {
            addCriterion("NODEDESCRIPTION between", value1, value2, "nodedescription");
            return (Criteria) this;
        }

        public Criteria andNodedescriptionNotBetween(String value1, String value2) {
            addCriterion("NODEDESCRIPTION not between", value1, value2, "nodedescription");
            return (Criteria) this;
        }

        public Criteria andNodesignIsNull() {
            addCriterion("NODESIGN is null");
            return (Criteria) this;
        }

        public Criteria andNodesignIsNotNull() {
            addCriterion("NODESIGN is not null");
            return (Criteria) this;
        }

        public Criteria andNodesignEqualTo(String value) {
            addCriterion("NODESIGN =", value, "nodesign");
            return (Criteria) this;
        }

        public Criteria andNodesignNotEqualTo(String value) {
            addCriterion("NODESIGN <>", value, "nodesign");
            return (Criteria) this;
        }

        public Criteria andNodesignGreaterThan(String value) {
            addCriterion("NODESIGN >", value, "nodesign");
            return (Criteria) this;
        }

        public Criteria andNodesignGreaterThanOrEqualTo(String value) {
            addCriterion("NODESIGN >=", value, "nodesign");
            return (Criteria) this;
        }

        public Criteria andNodesignLessThan(String value) {
            addCriterion("NODESIGN <", value, "nodesign");
            return (Criteria) this;
        }

        public Criteria andNodesignLessThanOrEqualTo(String value) {
            addCriterion("NODESIGN <=", value, "nodesign");
            return (Criteria) this;
        }

        public Criteria andNodesignLike(String value) {
            addCriterion("NODESIGN like", value, "nodesign");
            return (Criteria) this;
        }

        public Criteria andNodesignNotLike(String value) {
            addCriterion("NODESIGN not like", value, "nodesign");
            return (Criteria) this;
        }

        public Criteria andNodesignIn(List<String> values) {
            addCriterion("NODESIGN in", values, "nodesign");
            return (Criteria) this;
        }

        public Criteria andNodesignNotIn(List<String> values) {
            addCriterion("NODESIGN not in", values, "nodesign");
            return (Criteria) this;
        }

        public Criteria andNodesignBetween(String value1, String value2) {
            addCriterion("NODESIGN between", value1, value2, "nodesign");
            return (Criteria) this;
        }

        public Criteria andNodesignNotBetween(String value1, String value2) {
            addCriterion("NODESIGN not between", value1, value2, "nodesign");
            return (Criteria) this;
        }

        public Criteria andNodeorderIsNull() {
            addCriterion("NODEORDER is null");
            return (Criteria) this;
        }

        public Criteria andNodeorderIsNotNull() {
            addCriterion("NODEORDER is not null");
            return (Criteria) this;
        }

        public Criteria andNodeorderEqualTo(Integer value) {
            addCriterion("NODEORDER =", value, "nodeorder");
            return (Criteria) this;
        }

        public Criteria andNodeorderNotEqualTo(Integer value) {
            addCriterion("NODEORDER <>", value, "nodeorder");
            return (Criteria) this;
        }

        public Criteria andNodeorderGreaterThan(Integer value) {
            addCriterion("NODEORDER >", value, "nodeorder");
            return (Criteria) this;
        }

        public Criteria andNodeorderGreaterThanOrEqualTo(Integer value) {
            addCriterion("NODEORDER >=", value, "nodeorder");
            return (Criteria) this;
        }

        public Criteria andNodeorderLessThan(Integer value) {
            addCriterion("NODEORDER <", value, "nodeorder");
            return (Criteria) this;
        }

        public Criteria andNodeorderLessThanOrEqualTo(Integer value) {
            addCriterion("NODEORDER <=", value, "nodeorder");
            return (Criteria) this;
        }

        public Criteria andNodeorderIn(List<Integer> values) {
            addCriterion("NODEORDER in", values, "nodeorder");
            return (Criteria) this;
        }

        public Criteria andNodeorderNotIn(List<Integer> values) {
            addCriterion("NODEORDER not in", values, "nodeorder");
            return (Criteria) this;
        }

        public Criteria andNodeorderBetween(Integer value1, Integer value2) {
            addCriterion("NODEORDER between", value1, value2, "nodeorder");
            return (Criteria) this;
        }

        public Criteria andNodeorderNotBetween(Integer value1, Integer value2) {
            addCriterion("NODEORDER not between", value1, value2, "nodeorder");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}